# src/core/json_loader.py
import json
from pathlib import Path
from typing import Any, Dict


def load_json(file_name: str, *, encoding: str = "utf-8") -> Dict[str, Any]:
    """
    公共函数：读取项目根目录下任意 JSON 文件并返回 dict
    参数
    ----
    file_name : str
        相对于项目根目录的完整路径，例如 "conf/message.json"
    encoding  : str
        文件编码，默认 utf-8
    返回
    ----
    Dict[str, Any]
        反序列化后的 JSON 对象
    """
    # 1. 定位项目根目录（与 manage.py / main.py 同级）
    # root = Path(__file__).parent # .resolve().parent.parent.parent
    # 获取当前文件的绝对路径

    Root = Path(__file__).resolve().parent.parent.parent
    file_path = Root / file_name

    # 2. 读取并返回
    with file_path.open("r", encoding=encoding) as f:
        return json.load(f)
